<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>

        <script>
            /*
                希望在someFn()函数执行时，可以记录一条日志

                在不修改原函数的基础上，为其增加记录日志的功能

                可以通过高阶函数，来动态的生成一个新函数
            */

            function someFn() {
                return "hello"
            }

            function outer(cb){
                return () => {
                    console.log("记录日志~~~~~")
                    const result = cb()
                    return result
                }
            }

            let result = outer(someFn)

            // console.log(result)


            function test(){
                console.log("test~~~~")
                return "test"
            }

            let newTest = outer(test)

            newTest()
        </script>
    </head>
    <body></body>
</html>
